attribute vec3 aPosition;
uniform float uTime;

void main() {
    // 先记录顶点当前位置
    vec4 currentPosition = modelMatrix * vec4(position, 1.0);
    // 结束位置减去开始位置等于移动的方向
    vec3 direction = aPosition - currentPosition.xyz;
    // 顶点从 起点 向 移动的方向 按 每单位时间 走 0.1单位距离 即为 当前时间的 目标位置
    vec3 targetPosition = currentPosition.xyz + direction * 0.1 * uTime;
    // 设置当前位置
    vec4 vPosition = viewMatrix * vec4(targetPosition, 1.0);
    gl_Position = projectionMatrix * vPosition;
    // 点的展示效果，沿z轴近大远小，负数是因为飞机z轴为0，朝向屏幕里面是负数
    gl_PointSize = -100.0 / vPosition.z;
}